home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / share / mc / extfs / audio < prev    next >
Text File  |  2009-10-25  |  1KB  |  54 lines

  1. #! /bin/sh
  2. #
  3. # Written by Pavel Machek
  4. # CDDB support by Adam Byrtek
  5. #
  6. # (C) 2000 The Free Software Foundation.
  7. #
  8.  
  9. set -e
  10.  
  11. CDDB_SERVER="http://freedb.freedb.org"
  12. CDDB_HANDSHAKE="hello=user+localhost+mc+1.0&proto=1"
  13. CDDB_TIMEOUT=20 # in seconds
  14.  
  15. audiofs_list()
  16. {
  17.     DATE=`date +"%b %d %H:%M"`
  18.     echo "-r--r--r-- 1 0 0 0 $DATE CDDB"
  19.     cdparanoia -Q -d "$1" 2>&1 | grep '^[ 0-9][ 0-9][ 0-9]\.' | while read A B C
  20.     do
  21.     A=`echo "$A" | sed -e 's/\.//' -e 's/^\(.\)$/0\1/'`
  22.     SIZE=`expr 44 + $B \* 2352`
  23.     echo "-r--r--r-- 1 0 0 $SIZE $DATE track-${A}.wav"
  24.     done
  25. }
  26.  
  27. audiofs_copyout()
  28. {
  29.     if [ x"$2" = x"CDDB" ]; then
  30.         DISCID=`cd-discid "$1" | tr " " "+"`
  31.     if [ -z "$DISCID" ]; then
  32.         exit 1
  33.     fi
  34.         RESPONSE=`wget -q -T $CDDB_TIMEOUT -O - "$CDDB_SERVER/~cddb/cddb.cgi?cmd=cddb+query+$DISCID&$CDDB_HANDSHAKE" | tee "$3" | mawk '/^200/ { print $2,$3; }'`
  35.     wget -q -T $CDDB_TIMEOUT -O - "$CDDB_SERVER/~cddb/cddb.cgi?cmd=cddb+read+$RESPONSE&$CDDB_HANDSHAKE" | grep -v "^#" >> "$3"
  36.     else
  37.         TRACK=`echo "$2" | sed 's/track-0*//' | sed 's/\.wav//'`
  38.         cdparanoia -q -d "$1" "$TRACK" "$3" >/dev/null
  39.     fi
  40. }
  41.  
  42. if [ ! -b "$2" ]
  43. then
  44.     BASE="/dev/cdrom"
  45. else
  46.     BASE="$2"
  47. fi
  48.  
  49. case "$1" in
  50.   list) audiofs_list "$BASE"; exit 0;;
  51.   copyout) audiofs_copyout "$BASE" "$3" "$4"; exit 0;;
  52. esac
  53. exit 1
  54.